home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
172butl.zip
/
RCFG172A.ZIP
/
RECONFIG.BAS
next >
Wrap
BASIC Source File
|
1989-05-24
|
47KB
|
1,338 lines
DECLARE FUNCTION StrTok$(Source$,Delim$)
DECLARE SUB box (ybox%, xbox%, boxrows%, boxcols%, style%) 'draw a box
DEFINT A-Z
CLEAR
CLS
DIM FILES.FUNCTION(8) ' file menu security
DIM GLOBAL.FUNCTION(4) ' Global commands security
DIM HELP$(9) ' Help file names
DIM LIBRARY.FUNCTION(7) ' Library commands security
DIM MAIN.FUNCTION(18) ' Main menu security
DIM MENU$(6) ' Menu file names
DIM SYSOP.FUNCTION(7) ' Sysop menu security
DIM DNLD$(99) ' Download Sub-Dirs
DIM UTILITY.FUNCTION(12) ' Utility menu security
KEY OFF
LOCATE ,,0
FALSE = 0
TRUE = NOT FALSE
VER$ = "14.1D 15.1A 15.1B 15.1C 16.1A 17.1A 17.1B 17.1C 17.1D" ' KG0524
PARMS = FALSE
IF COMMAND$ = "" THEN _
GOTO COPYRIGHT
PARMS = 1
DELIM$ = " "
INPUT.FILENAME$ = STRTOK$(COMMAND$,DELIM$)
IF INPUT.FILENAME$ = "" THEN _
GOTO COPYRIGHT
INPUT.VERSION$ = STRTOK$("",DELIM$)
IF LEN(INPUT.VERSION$) <> 5 THEN _
GOTO COPYRIGHT
INPUT.VERSION$ = UCASE$ (INPUT.VERSION$) ' KG0524
VERSION = INSTR(VER$, INPUT.VERSION$)
IF VERSION = 0 THEN _
GOTO COPYRIGHT
VERSION = INT((VERSION-1)/6)+1
IF VERSION > 9 THEN _ ' KG0524
VERSION = VERSION - 9 ' KG0524
OUTPUT.FILENAME$ = STRTOK$("",DELIM$)
IF OUTPUT.FILENAME$ = "" THEN _
GOTO COPYRIGHT
PARMS = TRUE
'
' *****************************************************************************
' * COPYRIGHT GOES HERE *
' *****************************************************************************
'
COPYRIGHT:
CALL box(1,5,18,69,2)
FOR I = 2 to 15
LOCATE I,7
READ TEMP$
PRINT TEMP$
NEXT
IF PARMS = FALSE THEN _
LOCATE 17,25: _
PRINT "Press any key to continue"
IF PARMS = 1 THEN _
PARMS = FALSE : _
LOCATE 17,12 : _
PRINT "ERROR IN INPUT PARAMETERS - Press any key to continue"
120 IF PARMS = FALSE THEN _
A$ = INKEY$ : _
IF A$="" GOTO 120 ELSE _
GOTO 130
TEMP = (VAL(RIGHT$(TIME$,2))+4) MOD 60
WHILE VAL(RIGHT$(TIME$,2)) <> TEMP
WEND
130 LOCATE 1,1
FOR I = 3 to 17
LOCATE I, 6
PRINT SPACE$(67);
NEXT I
LOCATE 4,12
PRINT "Name of INPUT FILE:"
LOCATE 5,9
PRINT "Version of INPUT FILE:"
LOCATE 6,11
PRINT "Name of OUTPUT file:"
IF PARMS = FALSE THEN _
GOTO 150
LOCATE 4,32
PRINT INPUT.FILENAME$
LOCATE 5,32
PRINT INPUT.VERSION$
LOCATE 6,32
PRINT OUTPUT.FILENAME$
GOTO 180
'
' *****************************************************************************
' * GET THE INPUT FROM THE USER *
' *****************************************************************************
'
150 LOCATE 17,10
PRINT SPACE$(60);
LOCATE 17,10
PRINT "Enter the name of your existing RBBS-PC CONFIGURATION FILE"
LOCATE 4,32
PRINT SPACE$(40);
LOCATE 4,31
INPUT " ", INPUT.FILENAME$
IF LEN(INPUT.FILENAME$) < 1 THEN _
PRINT CHR$(7); : _
GOTO 150
160 LOCATE 17,10
PRINT SPACE$(60);
LOCATE 17,10
PRINT "Valid versions: 14.1D, 15.1A, 15.1B, 15.1C, 16.1A, 17.1A/B/C/D" ' KG0524
LOCATE 5,32
PRINT SPACE$(40);
LOCATE 5,31
INPUT " ", INPUT.VERSION$
IF LEN(INPUT.VERSION$) <> 5 THEN _
PRINT CHR$(7); : _
GOTO 160
INPUT.VERSION$ = UCASE$ (INPUT.VERSION$) ' KG0524
VERSION = INSTR(VER$, INPUT.VERSION$)
IF VERSION = 0 THEN _
PRINT CHR$(7); : _
GOTO 160
VERSION = INT((VERSION-1)/6)+1
IF VERSION > 9 THEN _ ' KG0524
VERSION = VERSION - 9 ' KG0524
170 LOCATE 17,10
PRINT SPACE$(62); ' KG0524
LOCATE 17,10
PRINT "Enter the name of the output RBBS-PC Version 17.2A FILE" ' KG0524
LOCATE 6,32
PRINT SPACE$(40);
LOCATE 6,31
INPUT " ", OUTPUT.FILENAME$
IF LEN(OUTPUT.FILENAME$) < 1 THEN _
PRINT CHR$(7); : _
GOTO 170
LOCATE 17,10
PRINT SPACE$(60);
180 LOCATE 8,9
INPUT "Is everything correct (Y or N)";QUERY$
IF INSTR("Yy",LEFT$(QUERY$,1)) < 1 THEN _
GOTO 150
ON ERROR GOTO ERROR.HANDLER
1000 OPEN "I",#1,INPUT.FILENAME$
'
' *****************************************************************************
' * READ IN THE PARAMETERS FROM AN EXISTING "RBBS-PC.DEF" FILE *
' *****************************************************************************
'
1010 LOCATE 10,9
PRINT "READING DATA....";
'
' *****************************************************************************
' * READ INPUT FILE *
' *****************************************************************************
'
READ.DEF:
IF VERSION >= 6 THEN _ ' KG0524
INPUT #1,CONFIG.FILE.VER$ ' KG0524
INPUT #1,DOWNLOAD.DRIVES$, _
SYSOP.PASSWORD.1$, _
SYSOP.PASSWORD.2$, _
SYSOP.FIRST.NAME$, _
SYSOP.LAST.NAME$, _
REQUIRED.RINGS, _
START.OFFICE.HOURS, _
END.OFFICE.HOURS, _
MINUTES.PER.SESSION!, _
MAX.ALLOWED.MSGS.FRM.DEF, _
ACT.MNTHS.B4.DELETING, _
UPLOAD.DIRECTORY$, _
EXPERT.USER, _
ACTIVE.BULLETINS, _
PROMPT.BELL, _
PCJR, _
MENUS.CAN.PAUSE, _
MENU$(1), _
MENU$(2), _
MENU$(3), _
MENU$(4), _
MENU$(5)
IF VERSION >= 4 THEN _
INPUT #1,MENU$(6)
INPUT #1,CONFERENCE.MENU$, _
CONFERENCE.VIEWER.SEC.LVL, _
WELCOME.INTERRUPTABLE, _
REMIND.FILE.TRANSFERS, _
PAGE.LENGTH, _
MAX.MESSAGE.LINES, _
DOORS.AVAILABLE, _
MO$
INPUT #1,MAIN.MESSAGE.FILE$, _
MAIN.MESSAGE.BACKUP$, _
CALLERS.FILE$, _
COMMENTS.FILE$, _
MAIN.USER.FILE$, _
WELCOME.FILE$, _
NEWUSER.FILE$, _
DIRECTORY.EXTENTION$, _
COM.PORT$, _
BULLETINS.OPTIONAL, _
USER.INIT.COMMAND$, _
RTS$, _
DOS.VERSION, _
FG, _
BG, _
BORDER, _
RBBS.BAT$, _
RCTTY.BAT$
INPUT #1,OMIT.MAIN.DIRECTORY$, _
FIRST.NAME.PROMPT$
IF VERSION = 1 THEN _
INPUT #1,HELP$(1), _
HELP$(2), _
HELP$(3), _
HELP$(4), _
HELP$(5), _
HELP$(6), _
HELP$(7), _
HELP$(8), _
HELP$(9) _
ELSE _
INPUT #1,HELP$(3), _
HELP$(4), _
HELP$(7), _
HELP$(9)
INPUT #1,BULLETIN.MENU$, _
BULLETIN.PREFIX$, _
DRIVE.FOR.BULLETINS$, _
MESSAGE.REMINDER, _
REQUIRE.NON.ASCII, _
ASK.EXTENDED.DESC, _
MAXIMUM.NUMBER.OF.NODES, _
NETWORK.TYPE, _
RECYCLE.TO.DOS, _
MAX.USR.FILE.SIZE.FRM.DEF, _
MAX.MSG.FILE.SIZE.FRM.DEF!, _
TRASHCAN.FILE$
INPUT #1,MINIMUM.LOGON.SECURITY, _
DEFAULT.SECURITY.LEVEL, _
SYSOP.SECURITY.LEVEL, _
FILESEC.FILE$, _
SYSOP.MENU.SECURITY.LEVEL, _
CONFMAIL.LIST$, _
MAXIMUM.VIOLATIONS, _
SYSOP.FUNCTION(1), _
SYSOP.FUNCTION(2), _
SYSOP.FUNCTION(3), _
SYSOP.FUNCTION(4), _
SYSOP.FUNCTION(5), _
SYSOP.FUNCTION(6), _
SYSOP.FUNCTION(7), _
PASSWORD.FILE$, _
MAXIMUM.PASSWORD.CHANGES, _
MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
OVERWRITE.SECURITY.LEVEL, _
DOORS.TERMINAL.TYPE, _
MAX.PER.DAY
IF VERSION = 1 THEN _
GOTO READ.DEF.141D.ONLY
INPUT #1,MAIN.FUNCTION(1), _
MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17)
IF VERSION >= 4 THEN _
INPUT #1,MAIN.FUNCTION(18)
IF VERSION < 5 THEN _
INPUT #1,DUMMY$ _
ELSE _
INPUT #1,MIN.NEWCALLER.BAUD
INPUT #1,WAIT.BEFORE.DISCONNECT, _
FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
FILES.FUNCTION(3), _
FILES.FUNCTION(4)
IF VERSION >= 5 THEN _
INPUT #1,FILES.FUNCTION(5)
INPUT #1,FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
FILES.FUNCTION(8), _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(2)
IF VERSION >= 5 THEN _
INPUT #1,UTILITY.FUNCTION(3)
INPUT #1,UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
UTILITY.FUNCTION(6), _
UTILITY.FUNCTION(7), _
UTILITY.FUNCTION(8), _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(12), _
GLOBAL.FUNCTION(1), _
GLOBAL.FUNCTION(2), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(4), _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
INPUT #1,TURN.PRINTER.OFF, _
DIRECTORY.PATH$, _
MIN.SEC.TO.VIEW, _
LIMIT.SEARCH.TO.FMS, _
DEFAULT.CATEGORY.CODE$, _
DIR.CATEGORY.FILE$, _
NEW.FILES.CHECK, _
MAX.DESC.LEN, _
SHOW.SECTION, _
COMMANDS.IN.PROMPT, _
NEWUSER.SETS.DEFAULTS, _
HELP.PATH$, _
HELP.EXTENSION$, _
MAIN.COMMANDS$, _
FILE.COMMANDS$, _
UTIL.COMMANDS$, _
GLOBAL.COMMANDS$, _
SYSOP.COMMANDS$
IF VERSION >= 4 THEN _
INPUT #1,RECYCLE.WAIT, _
LIBRARY.FUNCTION(1), _
LIBRARY.FUNCTION(2), _
LIBRARY.FUNCTION(3), _
LIBRARY.FUNCTION(4), _
LIBRARY.FUNCTION(5), _
LIBRARY.FUNCTION(6), _
LIBRARY.FUNCTION(7), _
LIBRARY.DRIVE$, _
LIBRARY.DIRECTORY.PATH$, _
LIBRARY.DIRECTORY.EXTENTION$, _
LIBRARY.WORK.DISK.PATH$, _
LIBRARY.MAX.DISK, _
LIBRARY.MAX.DIRECTORY, _
LIBRARY.MAX.SUBDIR, _
LIBRARY.SUBDIR.PREFIX$, _
LIBRARY.ARCHIVE.PATH$, _
LIBRARY.ARCHIVE.PROGRAM$, _
LIBRARY.COMMANDS$
INPUT #1,UPLOAD.PATH$, _
FMS.DIRECTORY$, _
ANS.MENU$,_
REQUIRED.QUESTIONNAIRE$,_
REMEMBER.NEW.USERS, _
SURVIVE.NOUSER.ROOM, _
PROMPT.HASH$, _
START.HASH, _
LEN.HASH, _
PROMPT.INDIV$, _
START.INDIV, _
LEN.INDIV
INPUT #1,BYPASS.MSGS, _
MUSIC, _
RESTRICT.BY.DATE, _
DAYS.TO.WARN, _
DAYS.IN.SUBSCRIPTION.PERIOD, _
CALLBACK.VERIFICATION, _
RESTRICT.VALID.CMDS, _
NEW.USER.DEFAULT.MODE, _
NEW.USER.LINE.FEEDS, _
NEW.USER.NULLS, _
NEW.USER.BELL, _
NEW.USER.CASE, _
NEW.USER.MARGINS, _
WRAP.CALLERS.FILE$, _
REDIRECT.IO.METHOD, _
GO.TO.SHELL, _
HALT.ON.ERROR, _
NEW.PUBLIC.MSGS.SECURITY, _
NEW.PRIVATE.MSGS.SECURITY, _
SECURITY.NEEDED.TO.CHANGE.MSGS, _
SL.CATEGORIZE.UPLOADS, _
BAUDOT, _
TIME.TO.DROP.TO.DOS, _
EXPIRED.SECURITY, _
DTR.DROP.DELAY, _
ASK.IDENTITY, _
USE.EXTERNAL.XMODEM, _
BUFFER.SIZE, _
MLCOM, _
SHOOT.YOURSELF, _
F7.MESSAGE$, _
NEW.USER.DEFAULT.PROTOCOL$, _
NEW.USER.GRAPHICS$, _
NET.MAIL$, _
MASTER.DIRECTORY.NAME$, _
PROTO.DEF$, _
UPCAT.HELP$, _
ALWAYS.STREW.TO$, _
LAST.NAME.PROMPT$
GOTO READ.DEF.ALL
READ.DEF.141D.ONLY:
INPUT #1,MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(1), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
UTILITY.FUNCTION(6), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17), _
GLOBAL.FUNCTION(4), _
GLOBAL.FUNCTION(2), _
DEFAULT.MACHINE.TYPE$, _
WAIT.BEFORE.DISCONNECT
INPUT #1,FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
DUMMY, _
FILES.FUNCTION(3), _
FILES.FUNCTION(4), _
DUMMY, _
FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
DUMMY, _
DUMMY, _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
DUMMY, _
DUMMY, _
UTILITY.FUNCTION(7), _
DUMMY, _
UTILITY.FUNCTION(8), _
DUMMY, _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(2), _
UTILITY.FUNCTION(12), _
DUMMY, _
DUMMY, _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
INPUT #1,SYSOP.FUNCTION.KEY1$, _
SYSOP.FUNCTION.KEY2$, _
SYSOP.FUNCTION.KEY3$, _
SYSOP.FUNCTION.KEY4$, _
SYSOP.FUNCTION.KEY5$, _
SYSOP.FUNCTION.KEY6$, _
SYSOP.FUNCTION.KEY7$, _
SYSOP.FUNCTION.KEY8$, _
SYSOP.FUNCTION.KEY9$, _
SYSOP.FUNCTION.KEY10$, _
SYSOP.FUNCTION.KEY11$, _
SYSOP.FUNCTION.KEY12$
READ.DEF.ALL:
IF VERSION >= 5 THEN _ ' KG0524
INPUT #1,PERSONAL.DRVPATH$, _
PERSONAL.DIR$, _
PERSONAL.BEGIN, _
PERSONAL.LEN, _
PERSONAL.PROTOCOL$, _
PERSONAL.CONCAT, _
PRIVATE.READ.SEC, _
PUBLIC.READ.SEC, _
SEC.CHANGE.MSG, _
KEEP.INIT.BAUD, _
MAIN.PUI$, _
DEFAULT.ECHOER$, _
HOST.ECHO.ON$, _
HOST.ECHO.OFF$, _
SWITCH.BACK, _
DEFAULT.LINE.ACK$, _
ALTDIR.EXTENSION$, _
DIRECTORY.PREFIX$
INPUT #1,SEC.LVL.EXEMPT.FRM.PURGING, _
MODEM.INIT.WAIT.TIME, _
MODEM.COMMAND.DELAY.TIME, _
TURBO.RBBS
INPUT #1,DNLD.SUB, _
WILL.SUBDIRS.B.USED, _
UPLOAD.TO.SUBDIR, _
DOWNLOAD.TO.SUBDIR, _
UPLOAD.SUBDIR$
IF VERSION < 5 THEN _
INPUT #1,RESTRICT.BAUD, _
USE.COLOR _
ELSE _
INPUT #1,MIN.OLDCALLER.BAUD, _
USE.EXTERNAL.YMODEM
INPUT #1,DISKFULL.GO.OFFLINE, _
EXTENDED.LOGGING, _
USER.RESET.COMMAND$, _
USER.COUNT.RINGS.COMMAND$, _
USER.ANSWER.COMMAND$, _
USER.GO.OFFHOOK.COMMAND$, _
DISK.FOR.DOS$, _
DUMB.MODEM, _
COMMENTS.AS.MESSAGES, _
LSB, _
MSB, _
LINE.CONTROL.REGISTER, _
MODEM.CONTROL.REGISTER, _
LINE.STATUS.REGISTER, _
MODEM.STATUS.REGISTER
IF VERSION >= 5 THEN _ ' KG0524
INPUT #1,KEEP.TIME.CREDITS, _
XON.XOFF, _
ALLOW.CALLER.TURBO, _
USE.DEVICE.DRIVER$, _
PRELOG$, _
NEW.USER.QUESTIONNAIRE$, _
EPILOG$, _
REGISTRATION.PROGRAM$, _
QUES.PATH$, _
USER.LOCATION$, _
USER.INITIALIZE.COMMAND$, _
USER.FIRMWARE.CLEAR.CMND$, _
USER.FIRMWARE.WRITE.CMND$, _
ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
SIZE.OF.STACK, _
SECURITY.EXEMPT.FROM.EPILOG, _
USE.BASIC.WRITES, _
DOSANSI, _
ESCAPE.INSECURE, _
USE.DIR.ORDER, _
ADD.DIR.SECURITY, _
MAX.EXTENDED.LINES, _
ORIG.COMMANDS$
IF VERSION >= 6 THEN ' KG0524
INPUT #1,LOGON.MAIL.LEVEL$, _
MACRO.DRVPATH$, _
MACRO.EXTENSION$, _
EMPHASIZE.ON.DEF$, _
EMPHASIZE.OFF.DEF$, _
FG.1.DEF$, _
FG.2.DEF$, _
FG.3.DEF$, _
FG.4.DEF$, _
SECVIO.HLP$, _
FOSSIL, _
MAX.CARRIER.WAIT, _
CALLER.BKGRD, _
SMART.TEXT, _
TIME.LOCK, _
WRITE.BUF.DEF, _
SEC.KILL.ANY, _
DOORS.DEF$, _
SCREEN.OUT.MSG$, _
AUTOPAGE.DEF$
END IF ' KG0524
IF DNLD.SUB < 1 OR DNLD.SUB > 99 THEN _
GOTO CLOSE.IN
FOR I = 1 TO DNLD.SUB
INPUT #1,DNLD$(I)
NEXT
GOTO CLOSE.IN
'
' *****************************************************************************
' * CLOSE INPUT FILE *
' *****************************************************************************
'
CLOSE.IN:
CLOSE #1
'
' *****************************************************************************
' * INITALIZE ALL VARIABLES THAT DON'T AREADY EXIST *
' *****************************************************************************
'
1020 LOCATE 11,9
PRINT "CONVERTING DATA...";
IF INSTR(MAIN.MESSAGE.FILE$,":") THEN _
D$ = LEFT$(MAIN.MESSAGE.FILE$,INSTR(MAIN.MESSAGE.FILE$,":")) ELSE _
D$ = ""
ON VERSION GOTO 2000, 2100, 2200, 2300, 2400, 2500 ' KG0524
GOTO 2500 ' KG0524
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 14.1D *
' *****************************************************************************
'
2000 FOR I = 1 TO 9
IF INSTR(HELP$(I),":") THEN _
HELP$(I) = MID$(HELP$(I),INSTR(HELP$(I),":")+1)
NEXT
ALWAYS.STREW.TO$ = ""
ANS.MENU$ = D$ + "MENUA"
ASK.IDENTITY = FALSE
BAUDOT = 0
BUFFER.SIZE = 128
BYPASS.MSGS = FALSE
CALLBACK.VERIFICATION = FALSE
COMMANDS.IN.PROMPT = TRUE
DEFAULT.CATEGORY.CODE$ = "UC "
DAYS.IN.SUBSCRIPTION.PERIOD = 365
DAYS.TO.WARN = 60
DIR.CATEGORY.FILE$ = D$ + "DIR.CAT"
DIRECTORY.PATH$ = D$
DTR.DROP.DELAY = 3
DUMMY$ = " "
EXPIRED.SECURITY = DEFAULT.SECURITY.LEVEL
FILE.COMMANDS$ = "DGLNPSUV"
FILES.FUNCTION(8) = FILES.FUNCTION(1)
F7.MESSAGE$ = ""
GLOBAL.COMMANDS$ = "H?QX"
GO.TO.SHELL = TRUE
HELP.EXTENSION$ = "HLP"
HELP.PATH$ = D$
LEN.HASH = 31
LEN.INDIV = 0
LIMIT.SEARCH.TO.FMS = FALSE
MAIN.COMMANDS$ = "ABCDEFIJKOPRSTUVW"
MAIN.FUNCTION(1) = DEFAULT.SECURITY.LEVEL
MAIN.FUNCTION(18) = 32767
MASTER.DIRECTORY.NAME$ = ""
MAX.DESC.LEN = 40
MIN.SEC.TO.VIEW = DEFAULT.SECURITY.LEVEL
MLCOM = FALSE
MUSIC = FALSE
NET.MAIL$ = ""
NEW.FILES.CHECK = FALSE
NEWUSER.SETS.DEFAULTS = TRUE
NEW.PUBLIC.MSGS.SECURITY = DEFAULT.SECURITY.LEVEL
NEW.PRIVATE.MSGS.SECURITY = DEFAULT.SECURITY.LEVEL
NEW.USER.DEFAULT.MODE = 0
NEW.USER.DEFAULT.PROTOCOL$ = ""
NEW.USER.GRAPHICS$ = ""
NEW.USER.LINE.FEEDS = 0
NEW.USER.NULLS = 0
NEW.USER.BELL = 0
NEW.USER.CASE = 0
NEW.USER.MARGINS = 0
PROMPT.HASH$ = "Name"
PROMPT.INDIV$ = ""
REDIRECT.IO.METHOD = TRUE
REMEMBER.NEW.USERS = TRUE
REQUIRED.QUESTIONNAIRE$ = "NONE"
RESTRICT.BY.DATE = FALSE
RESTRICT.VALID.CMDS = FALSE
SECURITY.NEEDED.TO.CHANGE.MSGS = SYSOP.SECURITY.LEVEL
SHOOT.YOURSELF = FALSE
SHOW.SECTION = TRUE
SL.CATEGORIZE.UPLOADS = SYSOP.SECURITY.LEVEL
START.HASH = 1
START.INDIV = 0
SURVIVE.NOUSER.ROOM = FALSE
SYSOP.COMMANDS$ = "1234567"
TIME.TO.DROP.TO.DOS = 0
TURN.PRINTER.OFF = FALSE
FMS.DIRECTORY$ = ""
UPCAT.HELP$ = "UPCAT"
USE.EXTERNAL.XMODEM = FALSE
UTIL.COMMANDS$ = "BCEFGLMPRSTU"
WRAP.CALLERS.FILE$ = ""
FOR I = 1 TO NUM.GLOBAL
GLOBAL.FUNCTION(I) = MINIMUM.LOGON.SECURITY
NEXT
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 15.1A *
' *****************************************************************************
'
2100 RTS$ = "NO"
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 15.1B *
' *****************************************************************************
'
2200 LIBRARY.ARCHIVE.PATH$ = D$
LIBRARY.ARCHIVE.PROGRAM$ = "ARCA "
LIBRARY.COMMANDS$ = "ACDGLSV"
LIBRARY.DIRECTORY.PATH$ = D$
LIBRARY.DIRECTORY.EXTENTION$ = "CDR"
LIBRARY.DRIVE$ = ""
LIBRARY.MAX.DISK = 705
LIBRARY.MAX.DIRECTORY = 7
LIBRARY.MAX.SUBDIR = 100
LIBRARY.SUBDIR.PREFIX$ = "DISK"
FOR I=1 TO 7
LIBRARY.FUNCTION(I) = SYSOP.SECURITY.LEVEL
NEXT
LIBRARY.WORK.DISK.PATH$ = D$
MAIN.COMMANDS$ = MAIN.COMMANDS$ + "@"
MENU$(6) = D$ + "MENU6"
RECYCLE.WAIT = 0
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 15.1C *
' *****************************************************************************
'
2300 ALLOW.CALLER.TURBO = SYSOP.SECURITY.LEVEL
ALTDIR.EXTENSION$ = ""
DEFAULT.ECHOER$ = "R"
DEFAULT.LINE.ACK$ = ""
DIRECTORY.PREFIX$ = "DIR"
DOSANSI = USE.COLOR
ENFORCE.UPLOAD.DOWNLOAD.RATIOS = FALSE
EPILOG$ = D$ + "EPILOG.DEF"
IF LEN(FILE.COMMANDS$) < 8 THEN _
FILE.COMMANDS$ = LEFT$(FILE.COMMANDS$,4) + "P" + _
RIGHT$(FILE.COMMANDS$,3)
FILES.FUNCTION(5) = SYSOP.SECRUITY.LEVEL
FIRST.NAME.PROMPT$ = "FIRST name"
HOST.ECHO.OFF$ = ""
HOST.ECHO.ON$ = ""
KEEP.INIT.BAUD = FALSE
KEEP.TIME.CREDITS = FALSE
LAST.NAME.PROMPT$ = "LAST name"
MAIN.PUI$ = D$ + "MAIN.PUI"
MAX.PER.DAY = 0
MENUS.CAN.PAUSE = TRUE
MIN.NEWCALLER.BAUD = 0
IF RESTRICT.BAUD <> 0 THEN _
MIN.NEWCALLER.BAUD = 1200
MIN.OLDCALLER.BAUD = 0
IF RESTRICT.BAUD =TRUE THEN _
MIN.OLDCALLER.BAUD = 1200
NEW.USER.QUESTIONNAIRE$ = D$ + "RBBS-REG.DEF"
PERSONAL.BEGIN = 1
PERSONAL.DIR$ = "PRIV"
PERSONAL.DRVPATH$ = D$
PERSONAL.LEN = 31
PERSONAL.CONCAT = FALSE
PERSONAL.PROTOCOL$ = "N"
PRELOG$ = D$ + "PRELOG"
PRIVATE.READ.SEC = DEFAULT.SECURITY.LEVEL
PUBLIC.READ.SEC = DEFAULT.SECURITY.LEVEL
QUES.PATH$ = ""
REGISTRATION.PROGRAM$ = "NONE"
SEC.CHANGE.MSG = SYSOP.SECURITY.LEVEL
SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
SIZE.OF.STACK = 1024
SWITCH.BACK = FALSE
USE.BASIC.WRITES = FALSE
USE.DEVICE.DRIVER$ = ""
USE.EXTERNAL.YMODEM = FALSE
USER.FIRMWARE.CLEAR.CMND$ = "AT&F"
USER.FIRMWARE.WRITE.CMND$ = "&W"
USER.INITIALIZE.COMMAND$ = "AT&C1&D3B1E0V1M0S0=0&T5"
USER.LOCATION$ = "CITY and STATE"
IF LEN(UTIL.COMMANDS$) < 12 THEN _
UTIL.COMMANDS$ = LEFT$(UTIL.COMMANDS$,2) + "E" + _
RIGHT$(UTIL.COMMANDS$,9)
UTILITY.FUNCTION(3) = UTILITY.FUNCTION(4)
XON.XOFF = FALSE
MAIN.COMMANDS.DEFAULTS$ = "ABCDEFIJKOPRSTUVW@"
FILE.COMMANDS.DEFAULTS$ = "DGLNPSUV"
UTIL.COMMANDS.DEFAULTS$ = "BCEFGLMPRSTU"
LIBRARY.COMMANDS.DEFAULTS$ = "ACDGLSV"
GLOBAL.COMMANDS.DEFAULTS$ = "H?QX"
SYSOP.COMMANDS.DEFAULTS$ = "1234567"
ORIG.COMMANDS$ = MAIN.COMMANDS.DEFAULTS$ + _
FILE.COMMANDS.DEFAULTS$ + _
UTIL.COMMANDS.DEFAULTS$ + _
LIBRARY.COMMANDS.DEFAULTS$ + _
GLOBAL.COMMANDS.DEFAULTS$ + _
SYSOP.COMMANDS.DEFAULTS$
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 16.1A *
' *****************************************************************************
'
2400 ADD.DIR.SECURITY = SYSOP.SECURITY.LEVEL
ASK.EXTENDED.DESC = SYSOP.SECURITY.LEVEL
AUTOPAGE.DEF$ = D$ + "AUTOPAGE.DEF"
CALLER.BKGRD = 0
CONFMAIL.LIST$ = D$ + "CONFMAIL.DEF"
EMPHASIZE.OFF.DEF$ = "[27]" + "[0;40;33m"
EMPHASIZE.ON.DEF$ = "[27]" + "[1;41;37m"
ESCAPE.INSECURE = FALSE
FG.1.DEF$ = "
"
FG.2.DEF$ = "
"
FG.3.DEF$ = "
"
FG.4.DEF$ = "
"
FOSSIL = 0
LOGON.MAIL.LEVEL$ = "A"
LSB = 1016
MACRO.DRVPATH$ = D$
MACRO.EXTENSION$ = "MCR"
MAX.CARRIER.WAIT = 30
MAX.EXTENDED.LINES = 2
PROTO.DEF$ = D$ + "PROTO.DEF"
SECVIO.HLP$ = D$ + "SECVIO." + HELP.EXTENSION$
SMART.TEXT = 123
TIME.LOCK = 0
USE.DIR.ORDER = TRUE ' KG0524
WRITE.BUF.DEF = 1024
'
' *****************************************************************************
' * INITALIZE VARIABLES NOT IN 17.1A-D *
' *****************************************************************************
'
2500 VERSION.NUMBER$ = "17.2A" ' KG0524
AUTO.UPGRADE.SEC = 0 ' KG0524
DEFAULT.EXTENSION$ = "ARC" ' KG0524
DOORS.DEF$ = D$ + "DOORS.DEF" ' KG0524
MAX.REG.SEC = 0 ' KG0524
MAX.WORK.VAR = 30 ' KG0524
MESSAGES.CAN.GROW = 0 ' KG0524
SCREEN.OUT.MSG$ = "SEEN-BY:" ' KG0524
SEC.KILL.ANY = SYSOP.SECURITY.LEVEL ' KG0524
VOICE.TYPE = 0
'
' *****************************************************************************
' * WRITE OUT THE "RBBS-PC.DEF" FILE WITH THE SYSOP'S SPECIFIED CONFIGURATION *
' *****************************************************************************
'
3000 OPEN "O",#1,OUTPUT.FILENAME$
LOCATE 12,9
PRINT "WRITING DATA...";
4000 WRITE #1,VERSION.NUMBER$, _
DOWNLOAD.DRIVES$, _
SYSOP.PASSWORD.1$, _
SYSOP.PASSWORD.2$, _
SYSOP.FIRST.NAME$, _
SYSOP.LAST.NAME$, _
REQUIRED.RINGS, _
START.OFFICE.HOURS, _
END.OFFICE.HOURS, _
MINUTES.PER.SESSION!, _
MAX.ALLOWED.MSGS.FRM.DEF, _
ACT.MNTHS.B4.DELETING, _
UPLOAD.DIRECTORY$,_
EXPERT.USER, _
ACTIVE.BULLETINS, _
PROMPT.BELL, _
PCJR, _
MENUS.CAN.PAUSE, _
MENU$(1), _
MENU$(2), _
MENU$(3), _
MENU$(4), _
MENU$(5), _
MENU$(6), _
CONFERENCE.MENU$, _
CONFERENCE.VIEWER.SEC.LVL, _
WELCOME.INTERRUPTABLE, _
REMIND.FILE.TRANSFERS, _
PAGE.LENGTH, _
MAX.MESSAGE.LINES, _
DOORS.AVAILABLE, _
MO$
IF INSTR(BULLETIN.MENU$,":") < 1 THEN _
BULLETIN.MENU$ = DRIVE.FOR.BULLETINS$ + _
BULLETIN.MENU$
IF INSTR(BULLETIN.PREFIX$,":") < 1 THEN _
BULLETIN.PREFIX$ = DRIVE.FOR.BULLETINS$ + _
BULLETIN.PREFIX$
IF GLOBAL.FUNCTION(3) > MINIMUM.LOGON.SECURITY THEN _
GLOBAL.FUNCTION(3) = MINIMUM.LOGON.SECURITY
IF FILES.FUNCTION(2) > MINIMUM.LOGON.SECURITY THEN _
FILES.FUNCTION(2) = MINIMUM.LOGON.SECURITY
IF LIBRARY.FUNCTION(4) > MINIMUM.LOGON.SECURITY THEN _
LIBRARY.FUNCTION(4) = MINIMUM.LOGON.SECURITY
IF LIBRARY.DRIVE$ = "" THEN _
MAIN.FUNCTION(18) = 32767
WRITE #1,MAIN.MESSAGE.FILE$, _
MAIN.MESSAGE.BACKUP$, _
CALLERS.FILE$, _
COMMENTS.FILE$, _
MAIN.USER.FILE$, _
WELCOME.FILE$, _
NEWUSER.FILE$, _
DIRECTORY.EXTENTION$, _
COM.PORT$, _
BULLETINS.OPTIONAL, _
USER.INIT.COMMAND$, _
RTS$, _
DOS.VERSION, _
FG, _
BG, _
BORDER, _
RBBS.BAT$, _
RCTTY.BAT$
4200 WRITE #1,OMIT.MAIN.DIRECTORY$, _
FIRST.NAME.PROMPT$, _
HELP$(3), _
HELP$(4), _
HELP$(7), _
HELP$(9), _
BULLETIN.MENU$, _
BULLETIN.PREFIX$, _
DRIVE.FOR.BULLETINS$, _
MESSAGE.REMINDER, _
REQUIRE.NON.ASCII, _
ASK.EXTENDED.DESC, _
MAXIMUM.NUMBER.OF.NODES, _
NETWORK.TYPE, _
RECYCLE.TO.DOS, _
MAX.USR.FILE.SIZE.FRM.DEF, _
MAX.MSG.FILE.SIZE.FRM.DEF!, _
TRASHCAN.FILE$
4300 WRITE #1,MINIMUM.LOGON.SECURITY, _
DEFAULT.SECURITY.LEVEL, _
SYSOP.SECURITY.LEVEL, _
FILESEC.FILE$, _
SYSOP.MENU.SECURITY.LEVEL, _
CONFMAIL.LIST$, _
MAXIMUM.VIOLATIONS, _
SYSOP.FUNCTION(1), _
SYSOP.FUNCTION(2), _
SYSOP.FUNCTION(3), _
SYSOP.FUNCTION(4), _
SYSOP.FUNCTION(5), _
SYSOP.FUNCTION(6), _
SYSOP.FUNCTION(7), _
PASSWORD.FILE$, _
MAXIMUM.PASSWORD.CHANGES, _
MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
OVERWRITE.SECURITY.LEVEL, _
DOORS.TERMINAL.TYPE, _
MAX.PER.DAY
4400 WRITE #1,MAIN.FUNCTION(1), _
MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17), _
MAIN.FUNCTION(18), _
MIN.NEWCALLER.BAUD, _
WAIT.BEFORE.DISCONNECT
4500 WRITE #1,FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
FILES.FUNCTION(3), _
FILES.FUNCTION(4), _
FILES.FUNCTION(5), _
FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
FILES.FUNCTION(8), _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(2), _
UTILITY.FUNCTION(3), _
UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
UTILITY.FUNCTION(6), _
UTILITY.FUNCTION(7), _
UTILITY.FUNCTION(8), _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(12), _
GLOBAL.FUNCTION(1), _
GLOBAL.FUNCTION(2), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(4), _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
4600 WRITE #1,TURN.PRINTER.OFF,_
DIRECTORY.PATH$,_
MIN.SEC.TO.VIEW, _
LIMIT.SEARCH.TO.FMS, _
DEFAULT.CATEGORY.CODE$, _
DIR.CATEGORY.FILE$, _
NEW.FILES.CHECK, _
MAX.DESC.LEN, _
SHOW.SECTION, _
COMMANDS.IN.PROMPT, _
NEWUSER.SETS.DEFAULTS, _
HELP.PATH$, _
HELP.EXTENSION$, _
MAIN.COMMANDS$, _
FILE.COMMANDS$, _
UTIL.COMMANDS$, _
GLOBAL.COMMANDS$, _
SYSOP.COMMANDS$
4700 WRITE #1,RECYCLE.WAIT, _
LIBRARY.FUNCTION(1), _
LIBRARY.FUNCTION(2), _
LIBRARY.FUNCTION(3), _
LIBRARY.FUNCTION(4), _
LIBRARY.FUNCTION(5), _
LIBRARY.FUNCTION(6), _
LIBRARY.FUNCTION(7), _
LIBRARY.DRIVE$, _
LIBRARY.DIRECTORY.PATH$, _
LIBRARY.DIRECTORY.EXTENTION$, _
LIBRARY.WORK.DISK.PATH$, _
LIBRARY.MAX.DISK, _
LIBRARY.MAX.DIRECTORY, _
LIBRARY.MAX.SUBDIR, _
LIBRARY.SUBDIR.PREFIX$, _
LIBRARY.ARCHIVE.PATH$, _
LIBRARY.ARCHIVE.PROGRAM$, _
LIBRARY.COMMANDS$
4800 WRITE #1,UPLOAD.PATH$, _
FMS.DIRECTORY$, _
ANS.MENU$, _
REQUIRED.QUESTIONNAIRE$, _
REMEMBER.NEW.USERS, _
SURVIVE.NOUSER.ROOM, _
PROMPT.HASH$, _
START.HASH, _
LEN.HASH, _
PROMPT.INDIV$, _
START.INDIV, _
LEN.INDIV
4850 WRITE #1,BYPASS.MSGS, _
MUSIC, _
RESTRICT.BY.DATE, _
DAYS.TO.WARN, _
DAYS.IN.SUBSCRIPTION.PERIOD, _
VOICE.TYPE, _ ' KG0524
RESTRICT.VALID.CMDS, _
NEW.USER.DEFAULT.MODE, _
NEW.USER.LINE.FEEDS, _
NEW.USER.NULLS, _
NEW.USER.BELL, _
NEW.USER.CASE, _
MESSAGES.CAN.GROW, _ ' KG0524
WRAP.CALLERS.FILE$, _
REDIRECT.IO.METHOD, _
AUTO.UPGRADE.SEC, _ ' KG0524
HALT.ON.ERROR, _
NEW.PUBLIC.MSGS.SECURITY, _
NEW.PRIVATE.MSGS.SECURITY, _
SECURITY.NEEDED.TO.CHANGE.MSGS, _
SL.CATEGORIZE.UPLOADS, _
BAUDOT, _
TIME.TO.DROP.TO.DOS, _
EXPIRED.SECURITY, _
DTR.DROP.DELAY, _
ASK.IDENTITY, _
MAX.REG.SEC, _ ' KG0524
BUFFER.SIZE, _
MLCOM, _
SHOOT.YOURSELF, _
DEFAULT.EXTENSION$, _ ' KG0524
NEW.USER.DEFAULT.PROTOCOL$, _
NEW.USER.GRAPHICS$, _
NET.MAIL$, _
MASTER.DIRECTORY.NAME$, _
PROTO.DEF$, _
UPCAT.HELP$, _
ALWAYS.STREW.TO$, _
LAST.NAME.PROMPT$
MSB = LSB + 1
LINE.CONTROL.REGISTER = LSB + 3
MODEM.CONTROL.REGISTER = LSB + 4
LINE.STATUS.REGISTER = LSB + 5
MODEM.STATUS.REGISTER = LSB + 6
4900 WRITE #1,PERSONAL.DRVPATH$, _
PERSONAL.DIR$, _
PERSONAL.BEGIN, _
PERSONAL.LEN, _
PERSONAL.PROTOCOL$, _
PERSONAL.CONCAT, _
PRIVATE.READ.SEC, _
PUBLIC.READ.SEC, _
SEC.CHANGE.MSG, _
KEEP.INIT.BAUD, _
MAIN.PUI$, _
DEFAULT.ECHOER$, _
HOST.ECHO.ON$, _
HOST.ECHO.OFF$, _
SWITCH.BACK, _
DEFAULT.LINE.ACK$, _
ALTDIR.EXTENSION$, _
DIRECTORY.PREFIX$
4950 WRITE #1,SEC.LVL.EXEMPT.FRM.PURGING, _
MODEM.INIT.WAIT.TIME, _
MODEM.COMMAND.DELAY.TIME, _
TURBO.RBBS, _
DNLD.SUB, _
WILL.SUBDIRS.B.USED, _
UPLOAD.TO.SUBDIR, _
DOWNLOAD.TO.SUBDIR, _
UPLOAD.SUBDIR$, _
MIN.OLDCALLER.BAUD, _
MAX.WORK.VAR, _ ' KG0524
DISKFULL.GO.OFFLINE, _
EXTENDED.LOGGING, _
USER.RESET.COMMAND$, _
USER.COUNT.RINGS.COMMAND$, _
USER.ANSWER.COMMAND$, _
USER.GO.OFFHOOK.COMMAND$, _
DISK.FOR.DOS$, _
DUMB.MODEM, _
COMMENTS.AS.MESSAGES, _
LSB, _
MSB, _
LINE.CONTROL.REGISTER, _
MODEM.CONTROL.REGISTER, _
LINE.STATUS.REGISTER, _
MODEM.STATUS.REGISTER
4980 WRITE #1,KEEP.TIME.CREDITS, _
XON.XOFF, _
ALLOW.CALLER.TURBO, _
USE.DEVICE.DRIVER$, _
PRELOG$, _
NEW.USER.QUESTIONNAIRE$, _
EPILOG$, _
REGISTRATION.PROGRAM$, _
QUES.PATH$, _
USER.LOCATION$, _
USER.INITIALIZE.COMMAND$, _
USER.FIRMWARE.CLEAR.CMND$, _
USER.FIRMWARE.WRITE.CMND$, _
ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
SIZE.OF.STACK, _
SECURITY.EXEMPT.FROM.EPILOG, _
USE.BASIC.WRITES, _
DOSANSI, _
ESCAPE.INSECURE, _
USE.DIR.ORDER, _
ADD.DIR.SECURITY, _
MAX.EXTENDED.LINES, _
ORIG.COMMANDS$
IF MACRO.EXTENSION$ <> "" AND _
INSTR(MACRO.EXTENSION$,".") <> 1 THEN _
MACRO.EXTENSION$ = "." + MACRO.EXTENSION$
WRITE #1,LOGON.MAIL.LEVEL$, _
MACRO.DRVPATH$, _
MACRO.EXTENSION$, _
EMPHASIZE.ON.DEF$, _
EMPHASIZE.OFF.DEF$, _
FG.1.DEF$, _
FG.2.DEF$, _
FG.3.DEF$, _
FG.4.DEF$, _
SECVIO.HLP$, _
FOSSIL, _
MAX.CARRIER.WAIT, _
CALLER.BKGRD, _
SMART.TEXT, _
TIME.LOCK, _
WRITE.BUF.DEF, _
SEC.KILL.ANY, _ ' KG0524
DOORS.DEF$, _ ' KG0524
SCREEN.OUT.MSG$, _ ' KG0524
AUTOPAGE.DEF$
IF DNLD.SUB <1 OR DNLD.SUB > 99 THEN _
GOTO CLOSE.OUT
FOR I = 1 TO DNLD.SUB
WRITE #1,DNLD$(I)
NEXT
CLOSE.OUT:
5000 CLOSE #1
LOCATE 13,9
PRINT "FINISHED."
LOCATE 22,1
END
'
' *****************************************************************************
' * ERROR EXIT - USER ABORTED PROGRAM *
' *****************************************************************************
'
USER.ABORT:
LOCATE 23,1
PRINT "User aborted program - EXECUTION CANCELLED"
SYSTEM
'
' *****************************************************************************
' * ERROR HANDLER FOR ANY OPEN/READ/WRITE ERRORS *
' *****************************************************************************
'
ERROR.HANDLER:
LOCATE 17,10
PRINT SPACE$(60);
LOCATE 17,10
IF ERL = 1000 THEN _
PRINT "ERROR: COULD NOT OPEN INPUT FILE - EXECUTION CANCELLED" : _
SYSTEM
IF ERL = 1010 THEN _
LOCATE 16,10 : _
PRINT "ERROR READING INPUT FILE - EXECUTION CANCELLED" : _
LOCATE 17,10 : _
PRINT "(Probably not version "; MID$(VER$,(VERSION-1)*6+1,5);")" : _
SYSTEM
IF ERL = 3000 THEN _
PRINT "ERROR: COULD NOT OPEN OUTPUT FILE - EXECUTION CANCELLED" : _
SYSTEM
IF ERL >= 4000 AND ERL <= 5000 THEN _
PRINT "ERROR: COULD NOT WRITE OUTPUT FILE - EXECUTION CANCELLED" : _
SYSTEM
PRINT "ERROR ";ERR;" OCCURRED IN LINE ";ERL"; - EXECUTION CANCELLED" : _
SYSTEM
DATA " RBBS-PC VERSION 17-2A CONFIGURATION CONVERSION"
DATA "Conceived and written by:"
DATA " Doug Azzarito"
DATA " TECHNOLOGY CONSULTANTS of the Palm Beaches, Inc."
DATA " VOICE: (407) 627-9767"
DATA " DATA: (407) 627-6969 627-6862"
DATA " Modified by Ken Goosens."
DATA "A limited license is granted to all users of this program"
DATA "to use and distribute this program, as long as:"
DATA " 1) NO FEE is charged for copying or distributing this program."
DATA " 2) This program is NOT distributed in modified form."
DATA " 3) The code contained herein is NOT used for any other purpose"
DATA " without obtaining permission from the copyright owner of"
DATA " RBBS-PC version 17-2A."
'
' *****************************************************************************
' * STRTOK FUNCTION *
' *****************************************************************************
'
FUNCTION StrTok$(Srce$,Delim$)
STATIC Start%, SaveStr$
' If first call, make a copy of the string.
IF Srce$<>"" THEN
Start%=1 : SaveStr$=Srce$
END IF
BegPos%=Start% : Ln%=LEN(SaveStr$)
' Look for start of a token (character that isn't delimiter).
WHILE BegPos%<=Ln% AND INSTR(Delim$,MID$(SaveStr$,BegPos%,1))<>0
BegPos%=BegPos%+1
WEND
' Test for token start found.
IF BegPos% > Ln% THEN
StrTok$="" : EXIT FUNCTION
END IF
' Find the end of the token.
EndPos%=BegPos%
WHILE EndPos% <= Ln% AND INSTR(Delim$,MID$(SaveStr$,EndPos%,1))=0
EndPos%=EndPos%+1
WEND
StrTok$=MID$(SaveStr$,BegPos%,EndPos%-BegPos%)
' Set starting point for search for next token.
Start%=EndPos%
END FUNCTION
'
' *****************************************************************************
' * BOX SUBROUTINE *
' *****************************************************************************
'
SUB box (ybox, xbox, boxrows, boxcols, style)
' ybox is the screen row of the upper left corner of the box
' xbox is the screen column of the upper left corner of the box
' boxrows is the number of rows (must be > 1) for the box
' boxcols is the number of cols (must be > 1) for the box
' style = 1 single line 2 double line
' 3 double top,single side 4 double side, single top
'
IF style = 0 THEN EXIT SUB
SELECT CASE style
CASE 1
tl$ = "┌": tr$ = "┐": bl$ = "└": br$ = "┘": hl$ = "─": vl$ = "│"
CASE 2
tl$ = "╔": tr$ = "╗": bl$ = "╚": br$ = "╝": hl$ = "═": vl$ = "║"
CASE 3
tl$ = "╒": tr$ = "╕": bl$ = "╘": br$ = "╛": hl$ = "═": vl$ = "│"
CASE 4
tl$ = "╓": tr$ = "╖": bl$ = "╙": br$ = "╜": hl$ = "─": vl$ = "║"
CASE ELSE
CLS
PRINT "SYNTAX ERROR IN box FUNCTION: Invalid style"
SYSTEM
END SELECT
LOCATE ybox, xbox, 0
PRINT tl$ + STRING$(boxcols - 2, hl$) + tr$;
FOR i! = ybox + 1 TO ybox + boxrows - 2
LOCATE i!, xbox
PRINT vl$;
LOCATE , xbox + boxcols - 1
PRINT vl$;
NEXT i!
LOCATE ybox + boxrows - 1, xbox, 0
PRINT bl$ + STRING$(boxcols - 2, hl$) + br$;
END SUB